function f = function_transform_1d(c, d, u, a, b)

if iscell(u)
    f = cellfun(@(f) @(xi) f((d-c)*(xi-a)/(b-a)+c), u, 'UniformOutput', false);
elseif isa(u, "function_handle")
    f = @(xi) u((d-c)*(xi-a)/(b-a)+c);
elseif isnumeric(u)
    f = (b-a)*(u-c)/(d-c) + a;
end

end